package com.pox.guli.service.trade.service;

import com.pox.guli.service.trade.entity.Order;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 订单 服务类
 * </p>
 *
 * @author pox21s
 * @since 2022-06-06
 */
public interface OrderService extends IService<Order> {

    /**
     * 订单存储
     * @param courseId 课程id
     * @param id jwt令牌
     * @return java.lang.String
     */
    String saveOrder(String courseId, String id);

    /**
     * 获取自己的订单
     * @param orderId 订单id
     * @param id 用户id
     * @return com.pox.guli.service.trade.entity.Order
     */
    Order getByOrderId(String orderId, String id);

    /**
     * 数据库支付订单查询
     * @param courseId 课程id
     * @param id 用户id
     * @return java.lang.Boolean
     */
    Boolean isBuyByCourseId(String courseId, String id);

    /**
     * 获取用户的所有订单裂变
     * @param id 用户id
     * @return java.util.List<com.pox.guli.service.trade.entity.Order>
     */
    List<Order> selectByMemberId(String id);

    /**
     * 订单删除
     * @param orderId 订单id
     * @param memberId 用户id
     * @return boolean
     */
    boolean removeById(String orderId, String memberId);
}
